Add GtkSidebar to the widget gallery
authorMatthias Clasen <mclasen@redhat.com>
Wed, 22 Oct 2014 05:11:34 +0000 (01:11 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Wed, 22 Oct 2014 05:13:00 +0000 (01:13 -0400)
docs/reference/gtk/Makefile.am
docs/reference/gtk/images/sidebar.png
docs/tools/widgets.c

index f1b067d1b5dfba60acffb973e6d4d1991e9b1a12..38bedac91b479460b85aef856b06f68b4aee2ace 100644 (file)
@@ -238,6 +238,7 @@ HTML_IMAGES = \
        $(srcdir)/images/search-bar.png                                 \
        $(srcdir)/images/search-entry.png                               \
        $(srcdir)/images/separator.png                                  \
+       $(srcdir)/images/sidebar.png                                    \
        $(srcdir)/images/spinbutton.png                                 \
        $(srcdir)/images/spinner.png                                    \
        $(srcdir)/images/stack.png                                      \
index d7be78fc08eea1e3809d99bd74408d5a23069e7f..ab7700eb883de2faaa1628ba3616dab0bbdcc96f 100644 (file)
Binary files a/docs/reference/gtk/images/sidebar.png and b/docs/reference/gtk/images/sidebar.png differ
index dc455e241b44d4dfda9e9f9d727cd7e85b34c1b9..c6d1afb1e1d0e6e9f9bd5e7bbcc4bf315b7d2555 100644 (file)
@@ -1386,6 +1386,41 @@ create_stack_switcher (void)
   return new_widget_info ("stackswitcher", vbox, ASIS);
 }
 
+static WidgetInfo *
+create_sidebar (void)
+{
+  GtkWidget *stack;
+  GtkWidget *sidebar;
+  GtkWidget *hbox;
+  GtkWidget *view;
+  GtkWidget *frame;
+
+  stack = gtk_stack_new ();
+  gtk_widget_set_size_request (stack, 120, 120);
+  view = gtk_label_new ("Sidebar");
+  gtk_style_context_add_class (gtk_widget_get_style_context (view), "view");
+  gtk_widget_set_halign (view, GTK_ALIGN_FILL);
+  gtk_widget_set_valign (view, GTK_ALIGN_FILL);
+  gtk_widget_show (view);
+  gtk_stack_add_titled (GTK_STACK (stack), view, "page1", "Page 1");
+  view = gtk_text_view_new ();
+  gtk_widget_show (view);
+  gtk_stack_add_titled (GTK_STACK (stack), view, "page2", "Page 2");
+
+  sidebar = gtk_sidebar_new ();
+  gtk_sidebar_set_stack (GTK_SIDEBAR (sidebar), GTK_STACK (stack));
+
+  frame = gtk_frame_new (NULL);
+  hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
+
+  gtk_box_pack_start (GTK_BOX (hbox), sidebar, FALSE, FALSE, 0);
+  gtk_box_pack_start (GTK_BOX (hbox), gtk_separator_new (GTK_ORIENTATION_VERTICAL), FALSE, FALSE, 0);
+  gtk_box_pack_start (GTK_BOX (hbox), stack, TRUE, TRUE, 0);
+  gtk_container_add (GTK_CONTAINER (frame), hbox);
+
+  return new_widget_info ("sidebar", frame, ASIS);
+}
+
 static WidgetInfo *
 create_list_box (void)
 {
@@ -1564,6 +1599,7 @@ get_all_widgets (void)
   retval = g_list_prepend (retval, create_level_bar ());
   retval = g_list_prepend (retval, create_info_bar ());
   retval = g_list_prepend (retval, create_gl_area ());
+  retval = g_list_prepend (retval, create_sidebar ());
 
   return retval;
 }